import axios from 'axios';
import router from './router'

//  请求拦截
axios.interceptors.request.use(config => {
  if (sessionStorage.metiaToken) {
    config.headers.Authorization = sessionStorage.metiaToken;
    config.headers['token'] = sessionStorage.metiaToken; //让每个请求都带token
    // config.headers.common['Authentication-Token'] = store.state.token
  }
  return config;
}, error => {
  return Promise.reject(error);
});

// 响应拦截
axios.interceptors.response.use(
  response => {
    if (response.data.code == 400) {
      alert('登录超时，请重新登录');
      // 清除token
      sessionStorage.removeItem('metiaToken');

      // 页面跳转
      router.push('/login');
    }
    return response;
  },

  error => {
    //错误提示
    const { status } = error.response;

    if (status == 400) {
      alert('登录超时，请重新登录');
      // 清除token
      sessionStorage.removeItem('metiaToken');
      // this.$store.commit('del_token');
      // 页面跳转
      router.push('/login');
    } else {
      alert(error.response.data);
    }
    return Promise.reject(error);
  }
)

export default axios;
// 需要在main.js引用